package com.yanqu.road.entity.activity.suitang.data;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.activity.suitang.entity.battle.CrossSuiTangBattlefieldRank;

import java.sql.Types;
import java.util.LinkedList;
import java.util.List;

/**
 * 城池战报
 */
@FieldTypeAnnotation(tableName = "t_c_suitang_city_report")
public class CrossSuiTangCityWarReportData extends DataObject {

    @FieldTypeAnnotation(desc = "活动ID", select = true, update = true)
    private int activityId;
    @FieldTypeAnnotation(desc = "活动分组ID", select = true, update = true)
    private int groupId;
    @FieldTypeAnnotation(desc = "进攻阵营ID", sqlType = Types.LONGVARCHAR)
    private List<String> atkCampId;
    @FieldTypeAnnotation(desc = "防守阵营ID")
    private String defCampId = "";
    @FieldTypeAnnotation(desc = "类型，1攻占成功，2防守成功")
    private int type; // 1攻占成功，2防守成功
    @FieldTypeAnnotation(desc = "城市ID")
    private int cityId;
    @FieldTypeAnnotation(desc = "攻击排行", sqlType = Types.LONGVARCHAR)
    private LinkedList<CrossSuiTangBattlefieldRank> atkRankList = new LinkedList<>();
    @FieldTypeAnnotation(desc = "防守排行", sqlType = Types.LONGVARCHAR)
    private LinkedList<CrossSuiTangBattlefieldRank> defRankList = new LinkedList<>();
    @FieldTypeAnnotation(desc = "胜利方阵营")
    private String winCampId = ""; // 胜利方阵营
    @FieldTypeAnnotation(desc = "时间")
    private long time;

    public String getWinCampId() {
        return winCampId;
    }

    public void setWinCampId(String winCampId) {
        this.winCampId = winCampId;
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public List<String> getAtkCampId() {
        return atkCampId;
    }

    public void setAtkCampId(List<String> atkCampId) {
        this.atkCampId = atkCampId;
    }

    public String getDefCampId() {
        return defCampId;
    }

    public void setDefCampId(String defCampId) {
        this.defCampId = defCampId;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public int getCityId() {
        return cityId;
    }

    public void setCityId(int cityId) {
        this.cityId = cityId;
    }

    public LinkedList<CrossSuiTangBattlefieldRank> getAtkRankList() {
        return atkRankList;
    }

    public void setAtkRankList(LinkedList<CrossSuiTangBattlefieldRank> atkRankList) {
        this.atkRankList = atkRankList;
    }

    public LinkedList<CrossSuiTangBattlefieldRank> getDefRankList() {
        return defRankList;
    }

    public void setDefRankList(LinkedList<CrossSuiTangBattlefieldRank> defRankList) {
        this.defRankList = defRankList;
    }

    public long getTime() {
        return time;
    }

    public void setTime(long time) {
        this.time = time;
    }


    public int getGroupId() {
        return groupId;
    }

    public void setGroupId(int groupId) {
        if (this.groupId != groupId) {
            this.groupId = groupId;
            setUpdateOption();
        }
    }

}
